package com.datasure.cloudsure.redis.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * 添加缓存注解
 *
 * @Description:
 * @author: chenweiju
 * @date:
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface CachePut {

    //缓存key
    String cacheKey();

    //时间单位为秒
    int expire() default 30;

    //是否缓存null值
    boolean cacheNull() default false;

    //设置缓存null值时的失效时间
    int cacheNullExpire() default 5;

    //指定特定数据源缓存
    String dsName() default "";

    //失效时间单为
    TimeUnit timeUnit() default TimeUnit.SECONDS;
}